import type { RouteObject } from 'react-router-dom';
import type { ReactNode } from 'react';

// 使用接口类型
interface RouteMeta {
  title?: string; // 页面标题
  requiresAuth?: boolean; // 是否需要登录
  permissions?: string[]; // 权限
  icon?: ReactNode; // 图标
  hideInMenu?: boolean; // 是否在菜单中隐藏
  element?: ReactNode; // 路由组件
}

// 使用交叉类型来扩展 RouteObject
type CustomRouteObject = RouteObject & {
  meta?: RouteMeta; // 添加 meta 字段
  children?: CustomRouteObject[]; // 添加 children 字段
};

export type { CustomRouteObject };
